﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Hello_reverse
{
    class Program
    {
        static void Main(string[] args)
        {
            // вариант № 1
            Console.WriteLine("Введите строку: ");
            string str = Console.ReadLine();
            StringBuilder sb = new StringBuilder(str);
           
            //for (int i = 0, j = str.Length - 1; i < str.Length / 2; i++, j--)
            for (int i = 0, j = str.Length - 1; i < j; i++, j--)
            {
               char buffer = sb[i];
               sb[i] = sb[j];
               sb[j] = buffer;
            }
            string result = sb.ToString();
            Console.WriteLine(result);
            Console.ReadLine();


            //// вариант № 2 с преобразованием строки в массив char ов
            //Console.WriteLine("Введите слово");
            //String str=Console.ReadLine();
            //char[] ch = str.ToCharArray();
            //char buffer;
            //for (int i = 0, j = ch.Length - 1; i < ch.Length / 2; i++, j--)
            //{
            //   buffer = ch[i];
            //   ch[i] = ch[j];
            //   ch[j] = buffer;
            //}
            //Console.WriteLine(ch);
            //Console.ReadLine( );

            //// самый простой вариант с использованием StringBuilder
            // Console.WriteLine("Введите строку: ");
            // string str = Console.ReadLine();
            //StringBuilder sb = new StringBuilder();
            // for (int i = str.Length - 1; i >= 0; i--)
            // {
            //     sb.Append(str[i]);
            // }
            // string result = sb.ToString();
            // Console.WriteLine(result);
            // Console.ReadLine();


            ////самый простой вариант без использования StringBuilder приводит к чрезмерному расходу ресурсов памяти
            //Console.WriteLine("Введите строку: ");
            //string str = Console.ReadLine();
            //string result = "";
            //for (int i = str.Length - 1; i >= 0; i--)
            //{
            //    result += str[i];
            //}
            //Console.WriteLine(result);
            //Console.ReadLine();
        }
    }
}
